package com.neu.mapper;

import java.util.List;


import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.neu.entity.Department;



@Mapper
public interface DepartmentMapper {
	
	/**
	 * 科室的查询，按照用户的条件查询，并且进行分页
	 * @param pageNum  当前页
	 * @param pageSize  当前页索要显示的字段条数
	 * @param keywords  查询关键字
	 * @return List<Department> 集合
	 */
	public List<Department> getDepartmentList(@Param("pageNum") Integer pageNum,@Param("pageSize") Integer pageSize,
											  @Param("keywords") String keywords);
	
	/**
	 * 科室的查询，多条件查询并且进行分页
	 * @param pageNum 当前页
	 * @param pageSize 当前页索要显示的字段条数
	 * @param keywords 第一个查询关键字
	 * @param keywords02 第二个查询关键字
	 * @param keywords03 第三个查询关键字
	 * @return List<Department> 集合
	 */
	public List<Department> getDepartmentList02(@Param("pageNum")Integer pageNum,@Param("pageSize") Integer pageSize,
												@Param("keywords")String keywords,
												@Param("keywords02")String keywords02,
												@Param("keywords03")String keywords03);
	
	/**
	 *  对应 getDepartmentList 
	 *  通过一个关键字来检索出查询到的字段的个数
	 * @param keywords 查询关键字
	 * @return Integer检索到的字段个数
	 */
	public Integer getDepartmentCount(@Param("keywords") String keywords);
	
	/**
	 * 对应 getDepartmentList02
	 * 通过三个关键字来检索出查询到的字段的个数
	 * @param keywords
	 * @param keywords02
	 * @param keywords03
	 * @return Integer检索到的字段个数
	 */
	
	public Integer getDepartmentCount02(@Param("keywords")String keywords,
			@Param("keywords02")String keywords02,
			@Param("keywords03")String keywords03);
	
	/**
	 * 对depaetment表进行添加操作
	 * @param dpet Department对象
	 * @return Integer 返回数据库更改的记录数
	 */
	
	public Integer addDepartment( Department dpet);
	
	
	/**
	 * 对department表进行更新操作
	 * @param dept Department对象
	 * @return nteger 返回数据库更改的记录数
	 */
	
	public Integer updateDepartment( Department dept);
	
	/**
	 * 根据用户提供的id进行删除操作
	 * @param id 用户提供的id
	 * @return  Integer 返回数据库更改的记录数
	 */
	
	public Integer deleteDepartmentById(@Param("id") Integer id);
	
	/**
	 * 根据用户提供的id进行删除操作
	 * @param ids 用户提供的多条id，为数组形式
	 * @return  Integer 返回数据库更改的记录数
	 */
	
	public Integer deleteDepartmentByIds(@Param("ids") Integer[] ids);
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}
